home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / 1997.ZIP / ASC-SCAN.ARC / ASC-SCAN.C next >
Text File  |  1987-03-22  |  1KB  |  51 lines

  1. /* --------------------------------------------- */
  2. /* ASC-SCAN - Display interrupt 16 codes         */
  3. /*    written in DeSmet C                        */
  4. /*      By Michael Burton Software     22 Mar 87 */
  5. /*         all rights reserved                   */
  6. /* --------------------------------------------- */
  7.  
  8. #include "stdio.h"
  9. #include "defstd.h"
  10.  
  11. extern _carryf,_zerof,_rax,_rbx,_rcx,_rdx,_rsi,_rdi,_res,_rds;
  12.  
  13. int sc,ac;
  14. char display[9][39] = {
  15.    "      Interrupt 16 keyboard codes     ",
  16.    "                                      ",
  17.    " ┌─────────────────╥─────────────────┐",
  18.    " │      ASCII      ║       SCAN      │",
  19.    " │ Dec   Hex   Chr ║ Dec   Hex   Chr │",
  20.    " ╞═════╤═════╤═════╬═════╤═════╤═════╡",
  21.    " │     │     │     ║     │     │     │",
  22.    " └─────┴─────┴─────╨─────┴─────┴─────┘",
  23.    "          Control-C to Exit           "};
  24.    
  25. main()
  26. {
  27.    scr_cursoff();
  28.    scr_clr();
  29.    for (sc=0;sc<9;sc++)
  30.    {
  31.       scr_rowcol(9+sc,21);
  32.       printf("%s",&display[sc][0]);
  33.    }
  34.    do 
  35.    {
  36.       _rax = 0;
  37.       _doint(0x16);
  38.       sc = (_rax >> 8) & 0xff;
  39.       ac = _rax & 0xff;
  40.       scr_rowcol(15,24);
  41.       printf("%3d │ %3x │     ║ %3d │ %3x",ac,ac,sc,sc);
  42.       scr_rowcol(15,37);
  43.       scr_co(ac);
  44.       scr_rowcol(15,55);
  45.       scr_co(sc);
  46.    } while (ac != 0x03);
  47.    scr_rowcol(0,0);
  48.    scr_curson();
  49.    scr_clr();
  50. }
  51.